Apparatus and method for template-based scheduling processes using regularity measure lower bounds

ABSTRACT

An advantageous scheduling template slot ordering for use in establishing a scheduling order of events such as transmitting communication signals in a communication network is determined by assigning at least two initial slot positions to a particular signal class and then determining a regularity measure based on a lower bound for the regularity measure of such assignments and the remaining unassigned slot positions. This lower bound for the regularity measure of the unassigned slots is advantageously based on a hypothetical assignment of fractions of the slot positions to different signal classes instead of limiting the assignment of a slot to a single signal class. This fractional slot assignment produces a regularity measure that is better than or equal to a corresponding regularity measure based on assigning a whole slot to a particular signal class. The lower bound of the regularity measure is then compared with a threshold regularity measure, such as from a known reference scheduling template. If the threshold regularity measure is lower than the determined lower bound, then it is known that the reference template would provide a more desirable regularity of events than any template having the assigned slot positions to that particular signal class. As a consequence, other slot assignments can be compared to the reference template to rapidly identify scheduling templates with enhanced regularity characteristics.

FIELD OF THE INVENTION

The invention relates to event scheduling including, for example, an order of transmitting signals over a communication network.

BACKGROUND OF THE INVENTION

Networks are a principal means of exchanging or transferring information, such as information signals representing voice, audio, data or video, among communication devices. Such communication devices often include devices for sending and/or receiving information, such as computer terminals, multimedia workstations, facsimile machines, printers, servers and telephones. Information transmitted on the network can be of many different forms but is often formatted into fixed-length data packets or cells. Networks, such as broadband ISDN (BISDN) employing asynchronous transfer mode (ATM) packet switching, are increasingly being used for the reliable, high-speed transmission of information. This increased use has brought major changes in network architecture and infrastructure design, as well as in network operations, to increase communication capacity and quality.

A typical network includes switch nodes having ports coupled by links to ports of other nodes and to the communication devices. Each link is uni- or bi-directional and is characterized by a bandwidth or link capacity in the directions of information transfer. Information to be exchanged is often conveyed over a path containing a set of nodes and links connecting two devices. Such a path can be regarded as a "virtual circuit" (VC) whereby one communication device specifies the intended destination device for the information, and the network delivers the information as though a dedicated circuit connected the two communication devices. Often multiple VCs are simultaneously maintained through a single switch node. In a similar manner, different VCs are often simultaneously maintained over a common link between switch nodes.

Buffer memories are typically employed in the switch nodes to increase the number of VC's that can simultaneously be carried by the node by buffering transmission of data packets of a type that is relatively delay insensitive while buffering to a lesser extent transmission of those packets of a type that is relatively delay sensitive. Such buffer memories effectively operate as respective queues for the packets that are to be conveyed through the respective ports to a common link or multiple links. By selecting an advantageous order in which packets from these queues are routed through a common switch node or multiplexed over a common link, it is possible to increase the number of VCs that the switch node can simultaneously maintain as well as increase communication quality.

In particular networks, a template is used to provide the transmission scheduling order for data packets of the respective VCs. A conventional template includes a fixed number of slots, wherein each slot position represents a scheduling position of corresponding packets for a particular VC. The order of such slots in the template determines the order or sequence in which the switch node repetitively transmits packets for the corresponding VCs. Desirable scheduling orders that facilitate increased VC capacity and improved quality of service transmit packets for VCs of relatively delay sensitive information in a manner that is substantially regular such as, for example, at least roughly periodic and non-bursty.

Known methods for determining scheduling orders or template slot positions include round robin and golden ratio techniques which are described in Y. Arian and Y. Levy, "Algorithms for Generalized Round Robin Routing", Operations Research Letters, vol. 12, no. 5, pp. 313-319 (November 1992), and A. Itai and Z. Rosberg, "A Golden Ratio Control Policy for a Multiple-Access Channel", IEEE Trans. on Automatic Control, vol. AC-29, no. 8, pp. 712-718 (August 1984), respectively, and which are both incorporated by reference herein. However, such scheduling methods provide marginally enhanced ordering of the template slots and, at times, overlook more advantageous slot orderings.

Accordingly, a need exists for a technique for determining improved scheduling templates orderings.

SUMMARY OF THE INVENTION

The invention is based on an advantageous measurement technique for evaluating the overall scheduling regularity producible by a scheduling template having particular slot assignments to respective classes of communication signals such as, for example, respective virtual circuits. According to the invention, an advantageous template slot ordering is determined by assigning at least two initial slot positions to a particular class to form an intermediate template and then determining a regularity measure based on a lower bound for the regularity measure of such assignments and the remaining unassigned slot positions of the intermediate template. This lower bound for the regularity measure of the unassigned slots is advantageously based on a hypothetical assignment of fractions of the respective slot positions to different classes instead of limiting the assignment of a slot to a single class. This fractional slot assignment produces a regularity measure that is typically more advantageous than or equal to a corresponding regularity measure based on assigning a whole slot to a particular class, and therefore, provides a lower bound.

The lower bound of the regularity measure is then compared with a reference regularity measure, such as from a known candidate scheduling template. If the reference regularity measure is lower than the determined lower bound, then it is known that the reference template would provide a more desirable scheduling regularity than any template having the assigned slots of the intermediate template independent of the assignment of the unassigned slots of the intermediate template. As a consequence, other slot assignments can be compared to the reference scheduling template to rapidly identify scheduling templates with enhanced regularity characteristics.

Such methods for determining scheduling template slot ordering are advantageously useable in a variety of communication networks including wired networks, such as BISDN networks, as well as wireless networks such as time division multiple access-based networks.

Additional features and advantages of the present invention will become more readily apparent from the following detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a schematic block diagram of an exemplary network employing nodes operating in accordance with the invention;

FIG. 2 illustrates a schematic block diagram of an exemplary node employed in the network of FIG. 1;

FIG. 3 illustrates a schematic block diagram of an alternative embodiment of the node of FIG. 2;

FIG. 4A, 4B and 4C illustrate exemplary scheduling templates useable in the network of FIG. 1 and nodes of FIGS. 2 and 3;

FIG. 5 illustrates a flow diagram of a method for determining scheduling templates;

FIG. 6 illustrates a flow diagram of an exemplary method for determining a regularity measure for use in the method of FIG. 5; and

FIG. 7 illustrates a flow diagram of an exemplary method for determining an advantageous scheduling template in accordance with the invention.

DETAILED DESCRIPTION

The invention concerns techniques for determining a scheduling template for use in providing an advantageous scheduling of an order of events such as transmitting communication signals of different signal classes in a communication network. Such advantageous scheduling facilitates enhanced communication capacity on the network and communication quality. A scheduling template has a plurality of slots assigned to corresponding signal classes such as for data packet scheduling for a plurality of virtual circuits admitted through a network node. An ordering of the slots indicates a scheduling order for transmission of the communication signals of the respective classes. In order to facilitate the enhanced communication capacity and/or communication quality, the invention determines a template that provides transmission order or sequence of signals for the classes that is substantially regular or at least roughly periodic and non-bursty.

Although the signal classes of the previously described templates represent communication signals of respective virtual circuits, it is also possible for a signal class to represent more than one virtual circuit for transmitting information of the same or similar type as is described in greater detail below with regard to FIG. 5.

The invention is useable in communication networks that could benefit from enhanced communication signal transmission scheduling including wired networks such as broadband ISDN (BISDN) networks and wireless networks such as, for example, time division multiple access (TDMA) based networks. However, exemplary embodiments of the invention are described below with respect to a BISDN network for illustration purposes only and is not meant to be a limitation of the invention. With regard to a TDMA-based wireless network, the invention is useable to determine the scheduling order of respective communication signals communication between a base station and associated wireless terminals.

Also, scheduling templates determined in accordance with the invention are useable for providing the order of assigning calls routed between two areas over a respective plurality of network routes between such points. For instance, if twenty different telecommunication routes are useable for routing calls between Chicago and New York, then the order in which calls are directed over the respective routes by a telecommunication provider can be based on such scheduling templates. Moreover, a scheduling template according to the invention is useable for indicating the order of events in which individual data processors, such as microprocessors or computers, of a plurality of processors perform respective operations, such as transactions. In this manner, relatively large numbers of operations or transactions can be performed by a respective number of processors. Scheduling templates for transactions processing are advantageously useable by financial institutions. In a similar manner, scheduling templates are likewise useable in computers having a plurality of processors for scheduling operations to be performed by respective processors for parallel processing with enhanced processing capacity.

An exemplary communication network 100 includes communication links 120 coupled to communication switch nodes 110. In a typical BISDN network, it is possible for the number of links connected to a node 110 to be on the order of 512 or greater. Each link 120 possesses a respective capacity of data packets that can be conveyed over the link per unit of time which is typically referred to as the link's bandwidth. Exemplary links having bandwidths of approximately 622 MB/sec. have been used in conventional BISDN networks. Each multi-port node 110 typically includes a buffer memory useable for buffering signals routed to respective links 120.

Exemplary packets include ATM cells having a fixed length of 53 bytes. It is possible for such data packets to represent various types of information including, for example, voice, video, audio or data such as text. Also, packets in a higher protocol layer may have a longer length and are typically referred to as messages which can be subdivided to generate a plurality of cells for ATM switching.

It is possible for one or more of the nodes 110 to be located within a particular network switch, such as, for example, ATM data switches manufactured by Lucent Technologies Inc. of Murray Hill, N.J., including Lucent's GlobeView 2000 switches. Particular nodes 110 are further coupled to access regulators 107 which are coupled to communication devices 105. The communication devices 105 are typically operated by service providers and users. The access regulators 107 regulate the flow or rate of data packets from the communication devices 105 into the network 100 based on a set of access regulator parameters. It is possible for the access regulators 107 to be leaky bucket regulators, buffered leaky bucket regulators or cascaded leaky bucket regulators. Access regulators are typically used in conventional BISDN networks, however, it is not critical to practicing the present invention. It is possible for the communication devices 105 to be directly coupled to the nodes 110 in FIG. 1 according to the invention.

Communication devices 105 communicate with respective other communication devices 105 by a VC established over particular nodes 110 and links 120 in the network 100. More specifically, it is possible for information to be transferred between initiating and destination communication devices 105, by the initiating device 105 requesting a VC path for carrying the call to be established between the particular devices 105. For instance, one possible path to carry or route a call from a communication device 105A to a destination communication device 105B includes nodes 111, 112, 113 and 114 and links 121, 122 and 123.

The particular path chosen to route a VC through the network 100 requires that the included nodes 110 and links 120 have sufficient available buffer memory and link bandwidth to route such a VC. Before the requested VC can be routed, the node buffer space and link bandwidth must be determined to chose a path with sufficient resources to meet such requirements. As in conventional nodes, it is possible for more than one VC to be established through a single output port of the node 110. The particular technique for establishing a VC is not critical to practicing the invention and it is possible to employ any of various techniques including, for example, such techniques disclosed in U.S. Pat. Nos. 5,519,836 and 5,502,816, which are assigned to the assignee of the present invention and incorporated by reference herein.

An exemplary multi-port node 110 useable with the invention is shown in FIG. 2. Exemplary components for the depicted node components in FIG. 2 can be those employed in the previously listed commercially available ATM data switches. The node 110 of FIG. 2 includes a plurality of input ports 210 and output ports 220 connected to respective network links 120 in FIG. 1. It is possible for the number of ports 210 and 220 to be on the order of hundreds. The ports 210 and 220 are further coupled to a input-output (I/O) circuit module 200 that is controlled by a controller 230.

The controller 230 provides connection admission control (CAC) that responds to requests for establishing paths from particular input ports 210 to particular output ports 220 for providing a particular segment of a VC for conveying packets over the network 100. Each port 210 and 220 in the multi-port node 100 typically can route calls of at least one specific priority level. The controller 230 and I/O module 200 are further coupled to a buffer memory 240 that enables the node 110 to temporarily store received data for particular calls routed through an output port 220. It is possible to use random access memory (RAM) for the buffer 240.

The node arrangement in FIG. 2 enables different packets received at one or more input ports 210 to be routed and multiplexed through output ports 220 onto a single network link 120. In a similar manner, this arrangement enables different packets received at a single input port 210 to be routed and demultiplexed through two or more output ports 220 onto respective network links 120. The multiplexing and demultiplexing of the packets transmitted and/or received over the links 120 can be performed, for example, by the module 200 as controlled by the controller 230.

Although the communication links 120 are directly coupled to either input or output ports, it is possible for the links 120 to alternatively provide such coupling by employing switch networks between the links 120 and the ports 210 and 220. However, the particular arrangement used for coupling the ports 210 and 220 and the network links 120 is not critical to practicing the invention. For instance, nodes having ports that can transmit and receive information can alternatively be used with the invention. Also, demultiplexers 250 and/or multiplexers 260 connected between the respective input and output ports 210 and 220 and the links 120 and controlled by the controller 230 can be used instead of the module 200 to perform the desired multiplexing and demultiplexing as shown in FIG. 3. Similar components in FIGS. 2 and 3 are like numbered for clarity, for example, the controller 230 and the ports 210 and 220.

In typical ATM packet switching networks, such as BISDN networks, it is possible to establish VC's for transmitting data packets of several different information types. Such information types often have different respective sensitivities to delay or regularity of receipt of corresponding data packets by a destination device. An information sensitivity to regularity of receipt concerns the approximate extent to which receipt of corresponding data packets can deviate from being periodic. For instance, in conventional ATM systems, it is possible to establish VC's for transmitting data packets representing respective information types of constant bit rate (CBR) data packets such as for voice or audio data, real-time variable bit rate (RT-VBR) packets for video data such as video conferencing, non-real-time variable bit rate (NRT-VBR) packets such as for still picture data, available bit rate (ABR) packets such as for relatively delay insensitive text and unspecified bit rate (UBR) packets.

In FIGS. 2 and 3, the buffer 240 enables the node 110 to take advantage of respective permissible delays and regularity of different information types in conveying data packets to their destinations by temporarily storing packets in a queue-like fashion received from an input port 210 and ultimately routed through an output port 220 while conveying other packets. Such selective buffering enables a relatively high packet conveyance capacity for the node 110. The controller 230 also provides buffer management for the buffer 240. The controller 230 uses a scheduling template for determining the order in which data packets from the queues are to be transmitted over one or more of the multiple links 120 in accordance with respective established VCs.

Representations of three different exemplary scheduling templates 300, 310 and 320 useable by the node 110 of FIGS. 2 or 3 are shown in FIGS. 4A, 4B and 4C. The templates 300, 310 and 320 denote the scheduling order for transmitting data packets for four different signal classes representing four different established VC's through the node 110 as indicated by the representations A, B, C and D. Each template 300, 310 and 320 has sixteen slots 330 for illustration purposes only and scheduling templates having a greater or less number of slots are also useable in accordance with the invention. Slot positions within each template 300, 310 and 320 are denoted by reference numbers 335.

In the illustrated example, the ratio of data packets to be transmitted over a unit of time for transmitting sixteen packets for the four different classes A, B, C and D is 6:3:5:2, respectively. It is possible to determine such ratios, for example, in accordance with the delay or jitter sensitivities of the respective classes and bandwidth requirements of the respective virtual circuits. The order in which the class representations appear in the slots 330 of the respective templates 300, 310 and 320 is the order in which the packets are transmitted by the corresponding node 110 of FIG. 2 or 3. Thus, the order in which packets are transmitted in accordance with the scheduling template 300 is six packets representing the class A in slots 1 through 6, then three packets representing the class B in slots 7 through 9, then five packets representing the class C in slots 10 through 14, and then two packets representing the class D in slots 15 and 16. The sequence of the template 300 is then repeated again for the next sixteen and subsequent packets.

However, such a template ordering is not very advantageous if any of the classes were relatively sensitive to delays or delay variations by the receiving device. The transmission of six packets for the class A and then a pause of an interval corresponding to a transmission of ten packets for other VC's or signal classes before transmission of another six packets of class A provides relatively long delays of ten packet transmissions before burst of six packet transmissions of the class A. Such delays between bursts of packets is generally undesirable for relatively delay sensitive or regularity sensitive information, such as CBR in conventional ATM networks. Thus, it is desirable to identify a scheduling template slot ordering that is advantageous with respect to the delay variation and regularity sensitivities of the classes to be transmitted.

For instance, if the classes A, B, C and D corresponded to the transmission of ATM information such as CBR, RT-VBR, NRT-VBR and UBR information types, respectively, then the order of priority as to delay or regularity sensitivity would be classes A, B, C and D. The classes A, B, C and D represent four different information types for illustration purposes only and are not meant to be a limitation of the invention. It is possible to determine advantageous scheduling templates orderings in accordance with the invention when one or more of the classes represents communication signals or data packets for more than one virtual circuit of the same or similar information type. Exemplary similar information types would include UBR and ABR which are representable by the same class in a template.

The scheduling template 310 of FIG. 4B represents an improved scheduling order for such classes relative to the template 300 of FIG. 4A. The ordering in slot positions 1 through 8 are A, B, C, D, A, B, C and D. Although data packets for each information class are advantageously equally spaced in the first eight slots 335, such is not the case for the latter eight slots 335. The scheduling template 320 of FIG. 4C possesses a further improved ordering relative to the template 310 of FIG. 4B, wherein class A having the highest sensitivity to delay is substantially equally spaced in the sixteen slots. Slot positions for the class B is are further separated to the extent possible in the slots 335 not assigned to class A. The classes C and D representing NRT-VBR and UBR/ABR has the lowest priority relative to delay sensitivity and are assigned to the remaining slots in any order. The methods in accordance with the invention enable determination of advantageous template scheduling orderings, such as that of the template 320 of 4C relatively rapidly.

FIG. 5 shows a technique 400 for determining an advantageous template from a plurality of candidate templates. In FIG. 5, a plurality of possible candidate templates are identified in step 410. It is possible to identify or select this plurality of candidate templates based on a selection criteria such as, for example, selecting candidate templates having a substantially random ordering or determined ordering based on signal class priority. However, the particular criteria used for determining the plurality of candidate templates is not critical to practicing the method 400 and other routines for providing the plurality of candidate templates can be employed.

A regularity measure is then determined according to step 420 for each of the identified plurality of candidate templates. The regularity measure is a measure of transmission regularity or extent of periodic transmissions of data packets for respective signal classes producible by the respective candidate template. An exemplary method 450 for determining such a regularity measure is shown in FIG. 6, described below. After the regularity measures are determined for the plurality of template candidates in step 420 of FIG. 5, the candidate template having the lowest regularity measure is determined in step 430 and used for transmitting data packets.

Although the method 400 selects the candidate template with the lowest regularity measure for use in determining the order in transmitting data packets, it is alternatively possible to use the candidate template having a substantially desirable regularity measure, such as a measure that is relatively close to the lowest measure. Moreover, it is possible to determine the regularity measure for less than the total of the plurality of candidate templates. For example, it is possible to determine the regularity measure of a sufficient number of candidate templates to identify a first one having a regularity measure that satisfies a desirable threshold value.

FIG. 6 illustrates an exemplary method 500 for determining a regularity measure of a candidate scheduling template according to the invention for use in step 420 of FIG. 5. The method 500 determines the regularity measure of a candidate scheduling template based on a total of summations of functions of positional distances between the slot positions assigned to respective signal classes. For example, in the candidate scheduling template 320 of FIG. 4C, the positional distances between the slots assigned to the class A is 2, 3, 3, 2, 3 and 3 in order from left to right. Included in such a summation is a "wrap-around" positional distance between the last occurrence of a slot assigned to class A, slot position 14, and the first occurrence of a slot assigned to class A, slot position 1, which is the positional distance of 3. This "wrap-around" positional distance is advantageous to include in the regularity measure because templates are employed in a cyclical manner for transmitting data packets such that after the first sixteen data packets are transmitted in accordance with the template 320, the seventeenth data packet transmission would be of a signal class corresponding to the scheduling slot position 1.

Moreover, such regularity measure total of summations can further include the positional distances between the n-th occurrences of slot positions in the sequence of slot positions assigned to the respective classes for at least one n greater than or equal to 2. Such n-th occurrence sums are alternatively referred to as higher order summations hereinafter. For example, a second order distance for the signal class A in FIG. 4C is 5, 6, 5, 5, 6, 5, respectively. The last distance in these second order distances advantageously includes a "wrap-around" positional distance of 5. Weighting coefficients are useable for the respective summations of the particular signal classes to increase or decrease the significance or weight given to slot positions of respective signal classes and/or the significance of the higher order summations. The resulting total of summations is indicative of the extent of transmission regularity achievable with the candidate scheduling template. Relatively low regularity measure values indicate relatively high levels of achievable regularity.

More specifically, in accordance with the method 500 of FIG. 6, several values are first initialized in step 505. In particular, the total number of signal classes represented in the candidate scheduling template to be evaluated is assigned to a value K; array L_(k), (k=1 to K), is the number of slot assignments in the template for the respective classes K; and two-dimensional array C_(k),l, (k=1 to K), (l=1 to L_(k) -1), represents weighting coefficients for signal class k and order l as described in greater detail below. Also, in step 505, summation value SUM and class value k are initialized to 0 and 1, respectively.

In steps 510 and 515, occurrence value l, order value n, and occurrence and positional values X and Y are then initialized as follows: l=1, n=1, X=l+n and Y=0. Then, in step 520, if the offset value X is less than or equal to the total slot assignments L_(k) for signal class k, then the method proceeds to step 530, otherwise step 525 is performed before the method 500 proceeds to step 530. Step 520 detects when a "wrap-around" positional distance is to be calculated and the step 525 adjusts occurrence offset value X and slot position offset value Y, accordingly. In step 530, the positional distance P is determined between the l-th and x-th occurrence of slot assignments to signal class k.

Thus, when values l and n are both one and the value L_(k) is two or greater, positional distance P is set to the distance between the first and second occurrence of signal class k. Accordingly, positional distance P between the first and second occurrence of signal class A of the template 320 in FIG. 4C is 2 (3-1). In step 530, of FIG. 6, the positional distance offset value Y in the positional distance P determination remains zero unless a "wrap-around" determination is made. In such instance, the offset Y is set to a value representing the total number of slot positions. After a positional distance value P is determined in step 530, a strictly convex function of such distance value is computed. A function F(x) is strictly convex if F(αx₁ +(1-α)x₂)<αF(x₁)+(1-α)F(x₂), where 0<α<1. A graphical depiction of such a function has a convex shape. The particular convex function employed is not critical to practicing the invention. Exemplary convex functions include P^(Z), where Z>1; Z^(P), where Z>1; and ##EQU1## where L is the number of template slot positions.

The produced value P^(Z) is then scaled by the corresponding weighting factor and added to the summation value SUMin step 535. The occurrence value l is then incremented in step 540. Then, in step 545, if the incremented occurrence value l is less than or equal to the total number of occurrences L_(k) in the template for class k, the method 500 returns to step 515 to perform the next positional distance determination for the particular order n and signal class k, otherwise, the method 500 proceeds to step 550. More specifically, the method 500 proceeds to step 550 when the total number of positional distances of order n have been summed for the signal class k and included in the summation SUM including the corresponding "wrap-around" determinations. In step 550, the order value n is incremented.

Then, in step 555, if the incremented order value n is less than or equal to the total number of occurrences L_(k) less one in the template for class k, i.e., the highest order for the particular class k, the method 500 returns to step 515 to perform the next positional distance determination for the incremented order n for the signal class k, otherwise, the method 500 proceeds to step 560. In step 560, the signal class value k is incremented and, in step 565, if the incremented value k is greater than the total number of signal classes K represented in the candidate template, then the method 500 proceeds to step 570, otherwise, it returns to step 510 to include positional distances for slot assignments of the next signal class into the summation SUM. In step 570, the resulting summation SUM includes the weighted summations of the ordered positional distances between slot assignments of the respective signal classes and is provided as the regularity measure.

Thus, the method 500 first determines the positional distances of a particular order n for a signal class k, and then performs the next and subsequent order determinations and then performs such determinations for the next signal class. The particular sequence of steps of the method 500 have been shown for illustration purposes only and are not meant to be a limitation of the invention. It is possible to perform such steps in a different order or in a parallel manner in accordance with the invention. Moreover, different steps are useable for achieving the desired weighted summations.

The method 500 determines the regularity measure based on the weighted summations of all signal classes represented in the candidate scheduling template and all possible orders of positional distances for illustration purposes only. However, it is possible to determine a regularity measure in accordance with the invention based on at least one signal class represented in the scheduling template. Moreover, it is possible to determine a regularity measure summation using a first order summation or the distances between occurrences of slot positions assigned to the signal class as well as at least one higher order positional distance summation where distances are measured between n-th occurrences of slot positions assigned to that signal class. Such a measure is still sufficiently indicative of the regularity of a candidate template for use in identifying templates for a node in a communication network.

The method 400 of FIG. 5 determines scheduling templates by advantageously selecting a template having a desirable regularity measure from a plurality of candidate templates. FIG. 7 shows a method 600 for determining advantageous slot assignments in creating a desirable scheduling template according to the invention. In performing the method 600, the number of slots required in the template as well as the number of needed respective signal class positions to be assigned are known.

In accordance with this embodiment of the invention, a reference scheduling template is used to establish a threshold regularity measure. Lower bounds for regularity measures of intermediate templates having a number of assigned and unassigned slots to signal classes are then determined. If the intermediate templates having partial numbers of assigned slots have a lower bound that is greater than the threshold measure of the reference template, then no slot ordering for the unassigned slots of the intermediate template would yield a scheduling template having a lower regularity measure than the reference template. As a consequence, templates having the assignments of such an intermediate template can be eliminated from further evaluation.

In the alternative, if an intermediate template is identified having regularity measure lower bound that is lower than the threshold regularity measure, then at least one of the unassigned slot positions in such intermediate templates is assigned to a respective signal class and a lower bound determination and evaluation is again performed. Such a routine is systematically repeated until all slots in the intermediate template are assigned or until no template is identified having a lower bound that is lower than the threshold regularity measure. In this manner, the method determines scheduling templates having advantageous regularity measures.

This method is based on a novel and unobvious regularity measure lower bound determination of intermediate templates having partial numbers of slot positions fixed or assigned to respective signal classes. The lower bound of an intermediate template is determined based on a hypothetical assignment of respective fractions of the unassigned slots to different signal classes. Such fractional slot assignment advantageously represents a lowest regularity measure or lower bound that could possibly be achieved with a template having at least the slot assignments of the intermediate template. Although fractional slot assignments achieve such a lower bound measure, assignments of whole slots to signal classes may not achieve such a measure. Only in typically rare instances would whole slot assignments achieve the lower bound.

It is possible to perform the lower bound determination by solving a quadratic programming problem representing the intermediate template. As described further below with regard to FIG. 7, it is possible to produce a corresponding linear program from the quadratic programming problem which can more easily be solved. However, other suitable methods can be used to solve the quadratic programming problem or for representing the intermediate template with the hypothetical fractional slot assignments according to invention.

Numerous methods are useable for determining a scheduling template having an desirable regularity measure based on the advantageous lower bound determinations of intermediate templates in accordance with the invention. The exemplary method 600 of FIG. 7 is one computationally efficient method for determining a scheduling template having a substantially optimal regularity measure for respective signal classes according to the invention and is shown for illustration purposes only. Other techniques employing lower bound determinations are useable for determining scheduling templates having advantageous regularity measures as well as templates having substantially optimal regularity measures according to the invention.

In the method 600, a threshold regularity measure is first determined in step 605. It is possible to base the threshold measure as a determined regularity measure of a reference template having advantageous slot assignments. The manner of selecting the reference template is not critical to practicing the invention and can be, for example, randomly selected or based on a criteria such as those previously described with regard to the method 400 of FIG. 5. Selection of a reference template having a relatively low threshold regularity measure enables determination of a scheduling template by the method 600 with improved computational and processing efficiency compared to reference templates having higher regularity measures. Accordingly, it is alternatively possible for the threshold measure to be set to a known desirable value without being determined from a reference template.

After the threshold measure is determined in step 605, list identifier l and fixed slot position counter k are set to 1 and 2, respectively, in step 610. Next, in step 615, a first list, designated by reference l, is generated containing indicators for all possible intermediate templates with different initial slot position assignments of k slots to the same respective signal classes. An intermediate template is not a complete template in that although it possesses the desired number of slot positions, only a limited number of slots are assigned to a class leaving remaining slots unassigned.

In accordance with the invention, the value k must be greater than or equal to 2 and at least two of the slot assignments must be to the same signal class. In this example, the value k is initialized to 2. Thus, the initial slot assignments are to the same class in step 615. Further, with k=2 initial assigned slots, the number of intermediate templates represented in the list l is ##EQU2## wherein the value P is the total number of slots included in the resulting template. The use of k=2 initial slot assignments for the intermediate templates is for illustration purposes only, and a large number of initial slot assignments can alternatively be used according to the invention. However, the use of a greater number of initial slot assignments increases the number of intermediate templates represented on the list l to be evaluated.

After the list l is generated in step 615, the method proceeds to step 620. In step 620, if all the intermediate templates in the list l have been evaluated, the method 600 proceeds to step 625. In step 625, the list identifier l and fixed slot position counter k are both incremented and, in step 630, if the fixed slot position counter k is less than or equal to the total number of slots less one (P-1), the method 600 returns to step 620, otherwise the method 600 ends. Steps 625 and 630 are described in greater detail below. In the alternative, in step 620, if all the intermediate templates in the list l have not been evaluated, the method 600 proceeds to step 635. Note, in a first iteration of the method 600, none of the intermediate templates on the list l have been evaluated so the method would proceed from step 620 to step 635.

In step 635, an intermediate template T_(k) from the list l that has not been evaluated by the method 600 is selected and, in step 640, the lower bound of a regularity measure for this intermediate template T_(k) is determined. The lower bound represents a lowest regularity measure that could possibly be achieved with a template with at least the slot assignments of the intermediate template T_(k). In accordance with the invention, the lower bound for the regularity measure of the intermediate template T_(k) is advantageously based on the assigned slots and a hypothetical assignment of fractions of the respective unassigned slot positions to different signal classes instead of limiting the assignment of a slot to a single class. This fractional slot assignment produces a regularity measure that is better than or equal to a corresponding regularity measure based on assigning a whole slot to a particular signal class, and therefore, is considered a lower bound.

An exemplary method for determining the lower bound is as follows. Scheduling templates can be determined from, for example, a representation of a quadratic integer assignment problem based on the regularity measure. For example, a substantially minimum H(x) in the following regularity measure quadratic assignment expression produces a substantially optimal regularity measure: ##EQU3## wherein x_(i1j1) and x_(i2j2) represent the respective assignments of the particular signal classes and have an integer value of 0 or 1, d_(ij) represents the desired convex function of the positional distance between i and j used for the regularity measure as previously described with regard to FIG. 5, and ƒ_(ij) represents the particular weighted values of the particular positional distance orders employed.

Such a quadratic integer assignment problem is computationally difficult to solve but can be transformed into a linear integer programming expression. Then, in accordance with the invention, the integer requirements of x_(i1j1) and x_(i2j2) are relaxed to enable fractional slot assignments, such that ##EQU4## P; and 0≦x_(ij) ≦1, to convert the linear integer program into a continuous linear program that is readily solvable to provide the regularity measure lower bound. Solving quadratic assignment problems using linear programming problems are described in greater detail in, for example, M. G. C. Resende, K. G. Ramaskrishnan and Z. Drezner, "Computing Lower Bounds for Quadratic Assignment Problem with an Interior Point Algorithm for Linear Programming", Operations Research, vol. 43, no. 5, pp. 781-791 (September-October 1995), which is incorporated by reference herein.

After the lower bound for the intermediate template T_(k) is determined in step 640, the method 600 proceeds to step 645. In step 645, if the determined lower bound is greater than or equal to the threshold regularity measure, then it is known that a scheduling template having the slot assignments of the intermediate template T_(k) could not achieve a regularity measure lower than that of the reference template, independent of the assignments of the unassigned slots of the intermediate template. Upon such determination, the method 600 returns to step 620 to select and evaluate another intermediate template T_(k) from the list l.

Thus, in step 645, if the lower bound of an intermediate template T_(k) is greater than the threshold regularity measure, the slot assignments of the intermediate template T_(k) could not produce a scheduling template having a better transmission regularity than the reference template. Accordingly, no further evaluation is required of templates having the slot assignments of that intermediate template T_(k) and the method 600 returns to step 620 to evaluate a new intermediate template. In the alternative, in step 645, if the determined lower bound is less than the threshold regularity measure, then a template having the slot assignments of the intermediate template T_(k) might exist possessing a lower regularity measure than the threshold measure and the method 600 performs the steps 650 through 670 to make such determination.

In step 650, representations of all possible different intermediate templates having slot assignments corresponding to the intermediate template T_(k) and one additional slot assignment are then appended to a list l+1. However, as the number of intermediate templates represented in the list l are determined in step 645 to have a lower bound less than the threshold measure, the number of subsequent intermediate templates appended to the list l+1 in step 650 would increase correspondingly.

After representations are appended to the list l+1 in step 650, the unassigned slots in the intermediate template T_(k) are assigned to respective signal classes according to a criteria, in step 655, to produce a candidate template T_(k) ^(*). The criteria employed for establishing such slot assignments is not critical to practicing the invention, and can include, for example, assigning substantially randomly or based on priority of regularity of the signal classes, or hybrid approaches.

A regularity measure R is then determined for the test template T_(k) ^(*) in step 660. In step 665, if the determined measure R is greater than or equal to the threshold regularity measure, the method 600 returns to step 620 to begin the evaluation of a next intermediate template represented in the list l. However, in step 665, if the determined measure R is less than the threshold measure, then the test template T_(k) ^(*) and regularity measure R are substituted for the reference template and corresponding threshold regularity measure, in step 670, before the method 600 returns to step 620 to evaluate a next intermediate template.

In this manner, the method 600 evaluates all the intermediate templates represented in the list l=1 by performing steps 620 through 670. If the employed threshold regularity measure of the reference template is a relatively low value, then typically a large number of the evaluations of the intermediate templates represented in the list l would only include computing its lower bound and determining that such lower bound is greater than the threshold measure in steps 640 and 645 before returning to step 620 to process a next intermediate template in the list l=1. However, for those intermediate templates represented in the list l=1 having a lower bound value less than the threshold measure, representations of corresponding other intermediate templates having one additional assigned slot position are appended to a list l+1=2 in step 650, before the method 600 returns to the step 620 to process a next intermediate template in the list l=1.

Also, for those intermediate templates identified as having a lower bound lower than the threshold measure, a first attempt of attaining a corresponding scheduling template T_(k) ^(*) having a lower regularity measure R than the threshold measure is performed in steps 655 and 660. If the attained scheduling template T_(k) ^(*) has a lower regularity measure R, then it is made the reference template and its regularity measure R is made the threshold measure in steps 665 and 670 for subsequent iterations of the method 600 beginning at step 620. Such a method causes the reference template to typically be iteratively changed with increasingly lower threshold regularity measures causing the evaluation of larger numbers of intermediate templates by only steps 620 through 645 to achieve a desirable processing efficiency in determining a substantially optimal scheduling template slot ordering.

Further, in step 620, upon detecting that all possible intermediate templates in the l=1 are evaluated, the method 600 proceeds to step 625 wherein the list pointer l=1 and the assigned slot counter k=2 are incremented to 2 and 3, respectively. Then, in step 630, if the assigned slot counter k is less than or equal to the number of total slot positions less one (P-1), the method 600 proceeds to step 620 to then process all the candidate templates in the formed list l=2 containing intermediate templates having k=3 assigned slot positions. Such processing continues until all the slot positions are determined. Note, that in step 630, the method 600 ends when all but one of the slots are assigned because at that point one unassigned slot and one unassigned signal class remain.

In this manner, the method 600 determines a scheduling template having a substantially optimal regularity measure by effectively evaluating all possible candidate templates in a substantially computationally efficient manner. It is possible to further enhance the computational efficiency by adding a step along the path from step 630 to step 620 that removes any duplicate intermediate template entries that might occur in a respective list l. Moreover, steps 650 through 670 are optional and can be omitted if additional steps are inserted after step 630 that identifies the particular one of the possibly one or more determined candidate templates that has a lowest regularity measure for use in transmitting communication signals in the network. In the alternative, upon identifying a candidate template with having an advantageously low regularity measure, although not the substantially optimal regularity measure, such template can be used in the communication network if it provides a desired level of regularity.

Additional techniques for enhancing computational efficiency include sorting the intermediate templates represented in a list l based on values of their corresponding regularity measure lower bounds. Such resulting order of the sorted list can be used as the order of evaluating such intermediate templates. It has been discovered that evaluating those intermediate templates having higher lower bounds, which are still lower than threshold measure, yield candidate templates with relatively low regularity measures in a rapid manner.

Moreover, the method 600 can be regarded as a breadth-first evaluation as all possible intermediate templates having k assigned slots are evaluated before corresponding intermediate templates having k+1 assigned slots are evaluated. However, in accordance with the invention, it is also possible to perform a depth-first evaluation wherein templates having a particular common assignment of k slots to a particular signal class with varying other slot positions are evaluated prior to evaluating templates having a different common assignment of k slots. Further, it is also possible to employ a hybrid breadth and depth evaluation approach in accordance with the invention.

It is possible to determine advantageous scheduling templates as needed, on-demand, or alternatively, it is possible to generate a plurality of templates off-line for different ratios of required slots for signal classes that are then stored in a table. Accordingly, when a template is required for a particular ratio of required slots for signal classes, a corresponding template can rapidly be identified from such a table.

Although several embodiments of the invention have been described in detail above, many modifications can be made without departing from the teaching thereof. All of such modifications are intended to be encompassed within the following claims. For instance, it is possible to employ the technique of identifying scheduling templates in accordance with the invention for scheduling other events, such as the transmission order of respective communication signals in a TDMA wireless communication network, or the processing order of operations/transactions in a multiple-processor system. 

The invention claimed is:
 1. A method for identifying a scheduling template for a network, said template having a plurality of slots assigned to corresponding signal classes, wherein an ordering of said slots indicates a repetitive scheduling order for events on said network, said method comprising:a) assigning at least two slot positions to a particular signal class to form an intermediate template; b) determining a lower bound of a regularity measure for said intermediate template; c) assigning at least one additional slot of the intermediate template to a signal class of the remaining respective signal classes to be assigned, if said determined regularity measure lower bound is more advantageous than a threshold regularity measure; d) repeating steps b) and c) until all slots are assigned in the intermediate template to provide a candidate scheduling template; and e) determining a regularity measure of said candidate template and if it is more advantageous than a threshold regularity measure, using said candidate template for said network.
 2. The method of claim 1 wherein said step of determining the regularity measure lower bound is based on the slot position assignments in said intermediate template and a hypothetical fractional slot assignment for remaining unassigned slots to the respective signal classes to be assigned.
 3. The method of claim 2 wherein said step of determining the regularity measure lower bound is based on a linear programming determination derived from a quadratic assignment problem.
 4. The method of claim 1 wherein said candidate template regularity measure in step e) further comprises determining said regularity measure based on a summation of values representing convex functions of positional distances between slots assigned to the same signal class for at least one of said signal classes.
 5. The method of claim 4 wherein said summation includes a first summation based on positional distances between each slot assigned to a signal class and a corresponding next occurrence of a slot assignment in the sequence of template slots for that signal class, and a second summation based on positional distances between each slot assigned to said signal class and a corresponding N-th occurrence of a slot assignment in the sequence of template slots for that signal class, wherein N between 2 and M-1, wherein M is a value representing the number of occurrences of slots assigned to said signal class.
 6. The method of claim 5 wherein said second summation is performed based on each value N between 2 and M-1.
 7. The method of claim 5 wherein said first and second summation are performed for a plurality of said signal classes and wherein said respective produced summations are scaled based on the relative priority of desired regularity of the corresponding signal class.
 8. The method of claim 1 wherein, if said determined regularity measure lower bound in step c) is not more advantageous than said threshold regularity measure, then the method further comprising the steps of:assigning new slot positions to signal classes, wherein at least two of such assignments are to the same class; and repeating steps b) and c).
 9. The method of claim 1 wherein said threshold regularity measure is a regularity measure of a reference scheduling template.
 10. The method of claim 9 wherein said reference scheduling template is based on a criteria.
 11. The method of claim 10 wherein said reference scheduling template is selected from a plurality of templates based on said regularity measure.
 12. The method of claim 9 further comprising the steps of:determining possible candidate templates based on intermediate templates as represented in the sorted order; determining regularity measures for said candidate template; and substituting the formed candidate template for said reference scheduling template and said determined regularity measure for said threshold measure.
 13. The method of claim 9 wherein, for an intermediate template having a lower bound that is more advantageous than said threshold measure, the method further comprising:assigning the remaining unassigned slots in the intermediate template according to a criteria to form at least one candidate template; determining regularity measures for said candidate template; and substituting the formed candidate template for said reference template and said determined regularity measure for said threshold measure.
 14. The method of claim 1 further comprising determining possible intermediate templates having k slot assignments with respective lower bound regularity measures that are more advantageous than said threshold measure prior to making such determination for intermediate templates having k+1 slot assignments, wherein k≧2.
 15. The method of claim 14 further comprising sorting said possible intermediate templates having k slot assignments in accordance with their regularity measure lower bound.
 16. The method of claim 1 further comprising determining possible candidate templates based on a particular intermediate template having k initial slot assignments prior to determining possible candidate templates based on a different intermediate templates having k slot assignments, wherein k≧2.
 17. The method of claim 1 wherein said method is performed to determine a respective plurality of scheduling templates for different signal class scheduling requirements, wherein when one of said plurality of determined scheduling templates is used when a communication signal transmission requirement corresponds to one of said corresponding scheduling requirements.
 18. The method of claim 1 wherein a scheduling template is determined intermittently during operation of said network.
 19. The method of claim 1 wherein said network is a time division multiple access network and wherein a scheduling template is determined for communication between a base station and wireless terminals.
 20. The method of claim 1 wherein said events correspond to transmission of data packets and said signal classes correspond to at least one virtual circuit in said network.
 21. The method of claim 20 wherein a scheduling template is identified for use in the network when a virtual circuit is established or terminated.
 22. The method of claim 20 further comprising the steps of:storing a plurality of determined scheduling templates in a table; and identifying a particular template as needed from transmitting said data packets of said virtual circuits.
 23. The method of claim 1 wherein said events are processing of operations of types represented by said signal classes.
 24. The method of claim 23 wherein said processing of operations is the processing of respective transactions.
 25. A node for use in a communications network for conveying communication signals over established virtual circuits through said node comprising:an input-output circuit module coupled to a plurality of ports for processing communication signals as incoming and outgoing signals, said module circuit for receiving incoming communication signals from at least one input port and for transmitting outgoing communication signals through at least one output port; a buffer memory for temporarily storing communication signals to be conveyed through said output port; and a controller configured for controlling said module to transmit said communication signals for respective virtual circuits based on a scheduling template, said template having a plurality of slots assigned to corresponding virtual circuits, wherein an ordering of said slots indicates a repetitive scheduling order for transmission of communication signals associated with said respective virtual circuits, said controller identifying a desirable scheduling template slot order bya) assigning at least two slot positions to a particular signal class to form an intermediate template; b) determining a lower bound of a regularity measure for said intermediate template; c) assigning at least one additional slot of the intermediate template to a signal class of the remaining respective signal classes to be assigned, if said determined regularity measure lower bound is more advantageous than a threshold regularity measure; d) repeating b) and c) until all slots are assigned in the intermediate template to provide a candidate scheduling template; and e) determining a regularity measure of said candidate template and if it is more advantageous than a threshold regularity measure, using said candidate template for said network.
 26. The node of claim 25 wherein said communication signals represent asynchronous transfer mode data packets.
 27. The node of claim 25 wherein the regularity measure lower bound determination is based on the slot position assignments in said intermediate template and a hypothetical fractional slot assignment for remaining unassigned slots to the respective signal classes to be assigned.
 28. The node of claim 25 wherein said candidate template regularity measure in e) further comprises determining said regularity measure based on a summation of values representing convex functions of positional distances between slots assigned to the same signal class for at least one of said signal classes. 